package HomeWork2;

import java.util.*;

//某班有 68 个学生，学号为 180201-180268， 全部参加 Java 集合阶段检测，给出所有同学的成绩 （可随机产生，范围为 50-100），
// 请编写程序将本班 各位同学成绩从高往低排序打印输出，注：成绩相同时学号较小的优先打印 要求：打印的信息包含学号、姓名和成绩
//学号：180209, 姓名：同学18, 成绩：100
//学号：180224, 姓名：同学33, 成绩：100
//学号：180238, 姓名：同学47, 成绩：100
//学号：180211, 姓名：同学20, 成绩：98
///学号：180212, 姓名：同学21, 成绩：98
//学号：180218, 姓名：同学27, 成绩：96
//学号：180237, 姓名：同学46, 成绩：94
//学号：180210, 姓名：同学19, 成绩：92
//学号：180206, 姓名：同学15, 成绩：91
//学号：180234, 姓名：同学43, 成绩：91
//学号：180240, 姓名：同学49, 成绩：91
public class d0327HomeWork {
    public static void main(String[] args) {
        Map<String,Integer> stuMap = new HashMap<>();

        for (int i = 1; i <69; i++) {
            stuMap.put("1802"+String.format("%02d",i)+" "+"同学"+i+"  成绩:",(int)(Math.random()*51+50) );
        }

        //转换为list
        List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(stuMap.entrySet());

        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
            @Override
            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
                return o2.getValue().compareTo(o1.getValue());
            }
        });

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i).getKey() + list.get(i).getValue());
        }

    }
}

